<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title> arguments 对象 </title>
    <script>

        /*
        在函数代码中，使用特殊对象 arguments，开发者无需明确指出参数名，就能访问它们。

        例如，在函数 sayHi() 中，第一个参数是 message。用 arguments[0] 也可以访问这个值，即第一个参数的值（第一个参数位于位置 0，第二个参数位于位置 1，依此类推）。

        因此，无需明确命名参数，就可以重写函数：
        */
        function sayHi(){
            if (arguments[0] == "bye") {
                return;
            }
            alert(arguments[0]);
        }

        /*
        检测参数个数
        还可以用 arguments 对象检测函数的参数个数，引用属性 arguments.length 即可。

        下面的代码将输出每次调用函数使用的参数个数：

        */
        function howManyArgs() {
            alert(arguments.length);
        }

        function testHowManyArgs(){
            howManyArgs("string", 45);
            howManyArgs();
            howManyArgs(12);
        }
      
    </script>
</head>
<body>
    <button onclick="testHowManyArgs()">测试参数的个数</button>
</body>
</html>